package com.yuanqi.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 附件类型配置
 * @TableName attachment_type_config
 */
@TableName(value = "attachment_type_config")
@Data
public class AttachmentTypeConfig implements Serializable {
    
    /** 主键ID */
    @TableId(type = IdType.AUTO)
    private Long id;
    
    /** 类型编码 */
    @TableField("type_code")
    private String typeCode;
    
    /** 类型名称 */
    @TableField("type_name")
    private String typeName;
    
    /** 允许的文件扩展名(JSON格式) */
    @TableField("allowed_extensions")
    private String allowedExtensions;
    
    /** 最大文件大小(字节，默认10MB) */
    @TableField("max_file_size")
    private Long maxFileSize;
    
    /** 状态：1-启用，0-停用 */
    @TableField("status")
    private Integer status;
    
    /** 排序顺序 */
    @TableField("sort_order")
    private Integer sortOrder;
    
    /** 创建时间 */
    @TableField("created_at")
    private Date createdAt;
    
    /** 更新时间 */
    @TableField("updated_at")
    private Date updatedAt;
    
    /** 允许的文件扩展名列表（非数据库字段） */
    @TableField(exist = false)
    private List<String> allowedExtensionsList;
    
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
